H.264/MPEG-4 AVC defines a POC that indicates a display order of pictures at the side of a decoding apparatus. Three types of methods such as POC type 0, POC type 1, and POC type 2 are known as encoding methods for the POC. A decoding process for the POC encoded by POC type 1 is defined in “8.2.1.2” in the H.264/MPEG-4 AVC as illustrated in FIG. 12.
According to “8.2.1.2” of H.264/MPEG-4 AVC, the POC of POC type 1 is decoded by initializing FrameNumOffset to 0, as specified while decoding an instantaneous decoding refresh (IDR) picture (picture in which nal_unit_type is equal to 5) in an encoded stream (see “8-6” in FIG. 12). Subsequently, the POC of POC type 1 is decoded by using the information that can be obtained from the encoded stream.
However, during random access (when encoded stream is decoded from the middle), decoding does not always start from the IDR picture. Accordingly, the FrameNumOffset, which is an input value for the decoding process of the POC of POC type 1, may not be initialized, and the POC value may not match with the display order of pictures, even if the POC of POC type 1 is decoded based on the process.
To decode the POC encoded by POC type 1 during random access so as to obtain decoded POC correctly matching with the display order of pictures, a technology that encodes and transmits information that allows the absolute value of the POC to be decoded, as the information required to correctly initialize the FrameNumOffset, at the side of an encoding apparatus is known (see “JVT-F050 POC Recovery in Random Access Point SEI Message”, [online], searched on Feb. 27, 2008, Internet <URL:http//ftp3.itu.ch/av-arch/jvt-site/2002—12_Awaji/JVT-F050.doc>).
Further, it is known to encode and transmit a value obtained by dividing FrameNumOffset by MaxFrameNum as the information required for correctly initializing the FrameNumOffset.
However, when the value obtained by dividing the FrameNumOffset by the MaxFrameNum is encoded and transmitted as the information required for correctly initializing the FrameNumOffset, the amount of information required for encoding becomes too large.